import pandas as pd

type_dict_a = {
        '讲课后习题原卷id': str,  # 将ID字段设为字符串
        # 其他可能的long类型字段也设为str
        '讲id': str,
        '包id': str,
    }

type_dict_b = {
    '课程包ID': str
}

# 读取 excel1 文件
df1 = pd.read_excel("D:\\project_file\\老卷下线\\最新  课后习题绑定的讲和包数据 周末智学标记.xlsx", dtype=type_dict_a)

# 读取 excel2 的所有 sheet 并合并成一个 DataFrame
excel2_sheets = pd.read_excel('D:\\project_file\\老卷下线\\E讲堂目录绑定包信息.xlsx', sheet_name=None, dtype=type_dict_b)
df2 = pd.concat(excel2_sheets.values(), ignore_index=True)

# 获取 excel2 中 '课程包ID' 列的唯一值集合，用于快速检查
course_ids = set(df2['课程包ID'].dropna())  # dropna() 以防有空值

# 在 excel1 中新增列 '是否在E讲堂目录中使用'
# 使用 apply 函数判断每个 '包id' 是否在 course_ids 中
df1['是否在E讲堂目录中使用'] = df1['包id'].apply(lambda x: '是' if x in course_ids else '否')

# 保存修改后的 excel1 到新文件（避免覆盖原文件）
df1.to_excel('e_class_updated_excel1.xlsx', index=False)